[M5Stack Core2 for AWS] ArduinoでLED (Adafruit NeoPixel フルカラーLED) を点灯してみました
1 はじめに
IoT事業部の平内(SIN)です。
以前、Core2 for AWS IoT EduKit BSPの動作確認の中で、M5Stack Core2 for AWSにマウントされているLEDを操作してみました。
今回は、これをArduinoから利用する要領を確認してみました。
最初に、動作している様子です。
なお、作業は、下記で作成したプロジェクトからのものです。新規プロジェクト作成や、M5Core2のライブラリ追加は、こちらをご参照ください。
2 Adafruit NeoPixel
BSPから制御していた、SK6812は、NeoPixel のフルカラーLEDです。 こちらのLEDは、Arduinoから利用できるようにライブラリが提供されていますので、こちらを組み込みます。
PlatformIOのLibrarysから、「NeoPixel」などで検索するとAdafruit NeoPixelを見つけることができますので、こちらをプロジェクトに追加します。
platformio.ini
GPIOは、25番で接続されています。
https://edukit.workshop.aws/en/api-reference/sk6812.html
3 LEDの配置
確認したところ、M5Stack Core2 for AWSにマウントされているNeoPixelのLEDは、時計回りに配置されており、片側に0から3、もう一方が、5〜8となっていますした。(4番は無いみたい)
4 コード
作成したコードは、以下の通りです。
NeoPixelは、LED数を9、制御のGPIOを25番として初期化しています。
1秒ごとに、0番から順にLEDを緑に点灯させています。
main.cpp
#include <M5Core2.h> #include <Adafruit_NeoPixel.h> #define PIN 25 #define NUMPIXELS 9 //LEDの数を指定 Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); //800kHzでNeoPixelを駆動 void setup() { pixels.begin(); //NeoPixelの初期化 M5.begin(true, true, true, true); M5.Lcd.setTextSize(3); } void loop() { pixels.clear(); // NeoPixelのリセット for(int i=0; i<9;i++){ pixels.setPixelColor(i, pixels.Color(0, 150, 0)); // i番目に緑を設定 pixels.show(); //LEDに色を反映 M5.Lcd.setCursor(0, 0); M5.Lcd.printf("LED Sample %d",i); delay(1000); //1000ms待機 } }
5 最後に
今回は、Arduinoで、LEDの点灯を確認してみました。
Adafruit NeoPixel Libraryは、非常に贅沢にメソッドが用意されていて、超使いやすそうです。
https://github.com/adafruit/Adafruit_NeoPixel
6 参考リンク
Visual Studio Code + PlatformIO 環境で M5Stack Core2 for AWS でHello Worldしてみました
[M5Stack Core2 for AWS] Core2 for AWS IoT EduKit BSPを使用してLEDを光らせてみました
[M5Stack Core2 for AWS] Core2 for AWS IoT EduKit BSPを使用してディスプレイに表示してみました
[M5Stack Core2 for AWS] Core2 for AWS IoT EduKit BSPを使用して仮想ボタンの動作を確認してみました
[M5Stack Core2 for AWS] LVCLを使用してディスプレイ上のボタンの動作を確認してみました
[M5Stack Core2 for AWS] Core2 for AWS IoT EduKit BSPを使用して電源を操作してみました
[M5Stack Core2 for AWS] Core2 for AWS IoT EduKit BSPを使用してスピーカーを操作してみました
[M5Stack Core2 for AWS] Core2 for AWS IoT EduKit BSPを使用して静電容量式タッチパネルを操作してみました
[M5Stack Core2 for AWS] Core2 for AWS IoT EduKit BSPを使用してジャイロセンサーを操作してみました
[M5Stack Core2 for AWS] PlatformIO を使用して、ArduinoでHello Worldしてみました
[M5Stack Core2 for AWS] ArduinoでLED (Adafruit NeoPixel フルカラーLED) を点灯してみました
[M5Stack Core2 for AWS] Arduinoで仮想ボタンを作成してみました
[M5Stack Core2 for AWS] ArduinoでMQTT接続してみました
[M5Stack Core2 for AWS] Arduinoでオーディオファイルを再生してみました
[M5Stack Core2 for AWS] Arduinoでマイクの利用方法を確認してみました
[M5Stack Core2 for AWS] ArduinoでGroveポートのGPIOを使用しててみました